Top 10k strings from Utility Compilation 09 (19xx)(-).trd in <root> / bin / z80 / software / Sinclair Spectrum Collection TOSEC.exe / Sinclair ZX Spectrum - Compilations - Utilities & Educational & Various / Sinclair ZX Spectrum - Compilations - Utilities & Educational - [TRD] (TOSEC-v2007-01-01) /
Back to the directory listing
7 ;"Routine in ROM";
4 1 1 1 1
3 xwvmkZYXWVTNK7%
3 wa{ wybor:
3 THIS ROUTINE IS NON-RELOCATABLE
3 FFFFFFFFFFFFFFFFFF
3 "23658",O:
3
3
2 ~~````~~~~
2 wozwrat w glawnoe men`................-M-
2 w+w+w+<w+w
2 to be replaced.
2 pE^ATX KOPII
2 ouble): ";
2 katalog diska.........................-C-
2 katalog
2 kalxkulqt.
2 iTRANSFER NEEDS 2 ARGUMENTS
2 iSYNTAX ERROR - MISSING COMMA
2 iSYNTAX ERROR - MISSING ARGUMENT
2 iSTRING TOO LARGE
2 iNOT A OR A VALID COLUMN
2 iNO MORE ROOM FOR FORMULAS
2 iNO FORMULA TO EDIT
2 iMUST TRANSFER ROW TO ROW
2 iMUST TRANSFER COLUMN TO COLUMN
2 iMUST BE A ROW OR COLUMN
2 iINVALID RANGE
2 iINVALID FORMULA
2 iINVALID COMMAND
2 iINVALID CELL ADDRESS
2 iFORMAT MUST BE G,I,$,L OR R
2 gSgOfM:^Tj\gD
2 gOgSldxqs`
2 \##N#F#"]\"
2 \!M}n{{jc/)/A!B`{{j}|gjnk
2 [}\r#s#N#F#
2 Zi"*p",p{2ppz2qp
2 ZX SPECTRUM MACHINE CODE TOOLKIT
2 UP-SCROLL",T
2 This is Line #";Z
2 Start address:
2 SAVE FROM
2 Routine Starts at ";A
2 ROUTINE NO:
2 R"E\*S\###"
2 Press ENTER to Expand the Whole Program
2 PROGRAM",D
2 No. STATEMENTS :
2 No. OF EXTRA BYTES::}\_:~\W:
2 No. LINES :
2 No. Bytes:
2 Ncc/}fhg{|/}j|j}yjk
2 Length of Program Only:!
2 LINE NO:NOW RENUMBER PROGRAM
2 K`/F/c``d/cfdj/Kjj
2 GGGGGGGGGGGGGGGGGGGG
2 First Byte:
2 Failure:$ No File$ Break$ No Disk$ Disk Full$
2 FROM LINE NO:TO LINE NO:AFTER LINE NO:NOW RENUMBER PROGRAM
2 FFFFFFFFFFFF
2 ERROR CODE: ";N$:
2 ENLARGE REM
2 EFGHJMQRSUWXYZ
2 EEEEEEEEEE
2 DOWN-SCROLL",T
2 BLOCK COPY
2 BETA Lines
2 Auto-start Line No:
2 Array Name:
2 A,B,C$,DUR:
2 @ BAJT
2 >.w>0#w#w#
2 > == <
2 =7=7S<[EJC
2 <~ffffff~<
2 ;a;" bytes,",a/
2 ;"press any key to continue":
2 54784,10751
2 23635+256*
2 16384,6912
2 /{g`zhg{/0
2 +-*]\"[\*Q\
2 ++F+N+++"]\*S\~
2 ++F+N+++"]\
2 *]\###q#p##"]\
2 *S\##"]\^#V
2 'l&/< /= 7<
2 #T]##N#F#~
2 "supercod"
2 "fp1.7/mc"
2 "]\w#6$#6=
2 "Start of sourse: ";a:
2 "Start of source: ";a:
2 "ROM","0","
2 "File name? ";n$:
2 "23659",F:
2 "23659",D:
2 "16"-G*(N<P);",";
2 "(p*,p#",p
2 "&p"(p**p:
2 "#";N;": ";
2 " This routine
2 " If you choose
2 " "
2 saves a screen,
2 recalls it.
2 ROUTINE # 65 HAS PREVENTED YOU FROM BREAKING INTO THIS PROGRAM
2 OVERPRINT
2 MAG= . ROT , Z=
2 a
2 0
2
2
2
1 |~ff~|````
1 zsft=47963
1 zapisx ob'ektnogo fajla...............-O-
1 zapisx fajla po adresu................-A-
1 zapisx fajla na~inaq s adresa 32768...-S-
1 zapisx fajla na disk...................-S-
1 zagruzka ob'ektnogo fajla.............-O-
1 zagruzka fajla s diska.................-L-
1 zagruzka fajla po adresu..............-A-
1 zagruzka drajwera printera.............-P-
1 zAgruzka fajla po adresu 32768........-S-
1 y
1 wyhod w bejsik.........................-B-
1 wstawka-STRING
1 wersiq 2.1
1 wKL@^ITX SLOWO
1 wKL@^ITX MAG
1 w Ready to clear the text file Are you sure?Press y for yesn for no
1 variables"'" (3) Numeric Arrays"'" (4)
1 un ""boot""
1 tor - - - zagruzi/wygruzi/nape~ataj !
1 too many characters - max is 10
1 to the bottom area of
1 to be located":
1 to a new address.To correct,run this routine before loading.It resets System vars to pre-paging values,& ensures programs from cassette
1 to 23755 and not 23813."
1 this rout- ine within(using
1 there must be a name
1 the following:-"'"
1 the 2- byte equivalent(see #101)of the address of the
1 that is to be transformed,into ";:
1 text file verified
1 ter - - - wyrownqj celyj abzac ! 1 2 3 4 5 6 7 8 !to - - - - podwinx tekst wwerh !------------------------!tne
1 tekstowyj redaktor
1 tasword: basic O.K.;
1 t - wspomog. stranica
1 t - wkl`~i ehte
1 t - na drugu` wspomog. stranicu. < < < t a
1 t - - - wspomogatelxnaq stranica -------------------------sar
1 t + klawi{a dlq pe~ati znakow: [ ]
1 such lines."
1 statements won't work if
1 statement at
1 start in mem."
1 sets like the SCIFI in #79).
1 scrolls when re
1 sTERETX str? (d)
1 s. Also see #82,#90,#100,#103h"
1 s,by combining
1 s which are stored in RAM(ie,UDGs or alternative
1 s when logically possible.Also see #64 #90,#100,#103h."
1 s the no: of
1 s the length of the BASIC program. Memory used by variables is ignored. Also see #103,#111.";
1 s the address of the first
1 s RAMTOP to its original value, zeroes the entire memory & resets System Variables,UDGs & stack."
1 s & statements in a prog. Restart SUPERCODE with
1 russki.fCnt
1 routine,& let x=no: after LD,de.Use #115 with a higher start address & x =no: of bytes.The file should
1 razrabotal semenowskij i.o. * wersiq 2.2
1 razrabotal semenowskij i.o. g.harxkow
1 quotes to save space.Also see #64,#82 & #100."
1 pxxllffcca
1 prowerka zapisi.......................-V-
1 prog autostart, enter 1
1 part2 of your program with the header of another prog, by manipulating Record/Pause keys on taperec.Call this routine in part1,& immediately after,call routine115.Part2 will now auto-
1 pUSK-NAVMI !
1 pE^(u)/pW(n)/(q)?
1 pEREM(r)/pE^(p)/w(q)?
1 p,q if bytes) Use the same
1 p(62221)+22)*64-a)
1 ot - - - uberi stroku !------------------------!
1 osk bolx{ie bukwy wkl./wykl. ! klawi{a
1 only. Incidentally,to
1 on lines 22 & 23."
1 on all 24 lines of the
1 of the same
1 of BASIC containing a prespecified sequence of
1 of a given
1 no: whose 2-byte equivalent was
1 najti! nOW? s
1 nO:qRLYK:kONTROLX PRINTERA
1 nAJDEN! nOW? (d)
1 n to prevent the scroll? prompt corrupting the
1 monitor MONS4..........................-M-
1 modify=51795
1 menowskij i.o.
1 mAG. (0) &
1 lENTA 0
1 kURSOR W
1 kURSOR NA
1 it to a different address, >23900 so it does not overlap with the System variables."'" (c)To
1 it back with
1 is to be execu- ted.Enter
1 is renumbered(except for arguments like 2.8 or N+3,which are high- lighted.If arg
1 is possible:use
1 intsh=45104
1 instruction. At the end,
1 ing the two parts."
1 in non-deletab-le lines:the listing vanishes 5)Autostart by using
1 in a BASIC program by another
1 gASiO!hSGkLrjIqnP*nC
1 from Part1,but anyone who attempts to
1 for another
1 find out what to print
1 ffvv~~nnff
1 fctt=36968
1 existing line no:,the next valid line no: is used.Cal -culated GOTOs etc are highlit.":
1 ete - - ubratx znak ! 6 - - - - & <= - - - - podwinx stroku wlewo ! eht
1 etc. Then
1 es from 10 to 60 & N lies between 1000 & 9999. You should experiment."
1 ed,use routine119 before each
1 ed,the BASIC will autorun,& will start the
1 ed into a Spectrum with shadow ROM paged in,as the prog will
1 ed came from tape/Mdrve,
1 eaiflgngf`jb{wLMCE]_
1 each part immediately before saving the next one:this ensures that there will be no delay between
1 e
1 dfdtTtFtF\
1 deo kursor na slowo wprawo ! eht R - - - -
1 deo kursor na slowo wlewo ! 2 - - - - @
1 ded mode - uprawlq`}ie klawi{i LISTANIE TEKSTA FORMATIROWANIE TEKSTA
1 ded mode 1985 TRANSL. S P E K T R U M A S S O C . B R N O e
1 dA, STRKA
1 d, it must be relocated by the samenumber of bytes."'"(2)It is possible to relocate # 22,23,71&76 too,but only to add-resses which are multiples of 256 away from the original add-resses.Proceed as follows: Get the page of the routine,& press Q to quit.The original address is A - say you want to relocate it to A+256*ZZ,where ZZ is a +/-integer.";
1 d into 62866 & 62867 respectively. The 4 columns are addr,contents in dec+hex &
1 d into 57125/26 ) :if not you will return to the next statement.
1 d in 60952(lo) & 60953(hi):initially 9495."
1 d in 60878(lo) & 60879(hi):initially 9495.For the error
1 d - - - wstawx stroku/znak ! H - - - - ` o
1 crsxy=48719
1 color=53102
1 co-ordinates of the";'" top left hand corner of the box
1 co- ordinates of the top-left hand corner of the box."
1 c*vx"`r>82
1 but will jump to the
1 bpRINT-W
1 b* bEJSIK STR.
1 at any position on the screen: ie, to find the CODE of the character printed
1 at any position on the screen: ie, to find the
1 at ANY position X,Y on the
1 as well as resets
1 areutilised.)":
1 are set up as UDGs. To return to usual UDGs,
1 address from which
1 able). Use N to exit.
1 a$="tasword":
1 a$="mons4d":
1 a$="code3=":
1 a$="code2=":
1 a$="ZEUSDRV":
1 a$="ZEUS2":
1 a$="ZEUS1":
1 a$="Printer linefeed=":
1 a$="Printer carriage return=":
1 a$="Left margin on printing=":
1 a$="Interface control code1=":
1 a"''"to get back into VU-FILE.":
1 a udaleniq komentariew-------------
1 a higher RAMTOP first."
1 a headerless file, disassemble its
1 a RAMTOP belowZ &
1 `ENTER # for command " for textdirectly for data and formulaeENTER text - press 'ENTER' when complete Blank,Calc,Edit,Format,Go,Load Print,Quit,Repeat,Save,Trans CALCULATING ENTER the new formula and then press 'ENTER' ENTER data or a formula $Prefix= absolute cell reference
1 `ENTER # for command " for textdirectly for data and formulaeENTER text - press 'ENTER' when complete Blank,Calc,Edit,Format,Go,Load Print,Quit,Repeat,Save,Trans CALCULATING E
1 _________________
1 __________";
1 ________"'
1 ZX SPECTRUM (48K) * ZEUS Z-80 ASSEMBLER
1 ZX INTERFACE1 MUST BE ATTACHED
1 ZEUS assembler.........................-Z-
1 ZEUS Z80 ASSEMBLER 1983 CRYSTAL COMPUTING SISOFT
1 ZEUS ASSEMBLER
1 Z=A+G-F*(N=
1 Z;" /"'" ";Z+1
1 Z2=235
1 Z2=231Enter:- 9990
1 Z2=229
1 Z if from Microdrive).If anaddress >23800 is to be
1 YRAWN.:ej sVATX :el sFORMIR:er
1 X-3,0 The program will work provided you do not
1 X+1,0. To do this to other lines, first find their address X using routine 88, then
1 Wpp C,
1 What is the meaning of life ?
1 W.POLE:Em pR.POLE:em uST.TAB:et cWETA :eb
1 W-1STR:e3 wN-1STR:e4 tAB-WPR:K1 pst-UST:Si
1 VU-FILE
1 VU-CALC BL
1 VARIABLES END :
1 V U - F I L E
1 Up into TLW ...
1 URS-LW:K5 kURS-PR:K8 kURS-WW:K7 kURS-WN:K6
1 URS-LW:K5 kURS-PR:K8 kURS-WR:K7 kURS-WN:K6
1 UIT AND EXAMINE LINE 1210
1 The Last Word...
1 TOP/MID RIGHT-SCR",S
1 TOP/MID LEFT-SCR",S
1 TOP RIGHT-SCROLL",S
1 TOP OF FILE
1 TOP LEFT-SCROLL",S
1 TO SEE HOW THIS WAS DONE, EXIT & EXAMINE LINES 9278 TO 9286
1 TO SEE HOW THIS WAS DONE,";
1 TLW2/H CP
1 TLW+++ BQ
1 THERE HAS BEEN A RECORDING ERROR
1 TER the new formula and then press 'ENTER' ENTER data or a formula $Prefix= absolute cell reference
1 TE.SIM:K0 sTE.STR:K9 sTE.KON:e9 sTE.WSE:ez
1 TASWORD B
1 Start of source =
1 Space (1-255)"
1 Save a file
1 SUPERSOFT SYSTEMS
1 STR. nO:
1 STAWKA:Ei tHT<<WL:Sq PR>>tHT:Se >>tHT<<:eh
1 STAWKA:Ei tEKST<<:Sq >>tEKST:Se >tEKST<:eh
1 START OF SOURCE =
1 START ADDRESS :
1 SOFTEK 'FP'
1 SIMULATOR",I
1 SIMULATOR",G
1 SEARCH MODE "STOP" to exitPress "ENTER" for another recordEnter the selecting string
1 SAVE'";C$(
1 SAGA SYSTEMS LIMITED
1 S with Interval I
1 S U P E R C O D E
1 Routine Length is ";B;" bytes
1 Routine Ends at ";A+B-E;
1 Routine Ends at ";A+B-1
1 Retreat (0-16/56): ";
1 Recording OK
1 ROUTINE IN ROM
1 ROUTINE #";N;"
1 ROUTINE ";C$'" IS NOW CALLED
1 RIGHT-SCROLL",S
1 RIGHT-SCROLL",33
1 REPLACE",D
1 RENUMBER",D
1 RELOCATION OF SUPERCODE ROUTINES
1 REFLECT Y-AXIS",E
1 REFLECT X-AXIS",E
1 RECORD LAYOUT Typewriter modefor entering titles of a blankrecord. Move cursor with arrows."STOP" to exit-"EDIT" for colour
1 RANDOMIZE USR63950
1 RANDOMIZE USR 3190
1 RANDOMIZE USR ";A
1 R1LIST:e3 wN1LIST:e4 tABUL. :K1 wST.kup:Si
1 R/KRAJ:Em lW/KRAJ:em tABULQT:et cWET/AT:eb
1 R.Justify on
1 Q,E;"This routine converts hex no:s to their decimal equivalents. It clears the screen & prompts 'H:' - now ENTER the hex no:. Only the last 4 hex digits will be converted. The routine auto- repeats. Enter 'Q' to quit, &
1 Q,E;"This routine
1 Q,E;"Call this routine at the start of your program, say by having as
1 Q,D;" The Spectrum doesn't check if there is enough space free in its memory before
1 Q
1 Q
1 Press any key to move cursor to the field which will define the record order and press "ENTER"
1 Press Y or N for yes or no
1 Press "ENTER" to delete
1 Press q key to quit printing>
1 Press "SPACE" in record layoutto leave blank paper colour
1 Press "ENTER" for the stringselect to apply to any field oruse any key to move cursor todesired field and press "ENTER"
1 Part2 by other means will crash the computer."
1 PUBLISHED IN MOSCOW BY SOFTSTAR
1 PRINTING",E
1 PRINTER, ADRES WOZWR
1 PRINTER LAYOUT Enter the titlesof a record to be printed. Blanklines below the last title willbe omitted. 'STOP' to exit.
1 PRINT;: RANDOMISE USR 60222
1 PRINT Press any key to stop
1 PRESS "E" TO ENTER A NEW FILE
1 POKE NUMBERS
1 PE^ATX NA PRINTERE
1 P,D;" To break into autostart progs, (a)Instead of
1 P,D;" (a)To check whether a ZX Inter- face1 is connected,see whether or not an error is produced if an instruction like
1 Out of symbol space !
1 Out of memory !
1 OWTOR :Er sTER.BL:Ek pOISK :Ex rAZMER :ew
1 OWT-TH:Er sTER-TH:Ek nAJTI-T:Eh s^-SLOW:ew
1 OWN-ST:ej sVATX-S:el rFM-ABZ:er
1 OW/NER:Ej pERENOS:Ew zAGL>ST:e2 sTRING$:ei
1 OVU3s C
1 OVERPRINT",E
1 OUT OF SYMBOL SPACE !
1 OUT OF MEMORY !
1 OUT OF MEMORY
1 ORDER FIELD:
1 ONTUR :Eo mARKERY:Ev zAG/STR:K2 dL/STR.:ev
1 ONTUR :Eo mARKER :Ev rEGISTR:K2 {RIFT :ev
1 ONTINUE /
1 ON /OFF checkerboard on the
1 O;"S U P E R C O D E"''"
1 O,E;"In order to make the FIRST line of your program non- deletable
1 NVU3c C
1 NON-RELOCATABLE ... use L
1 NO: ROUTINE
1 NO ROOM IN FILE
1 NO MORE THAN 20! *=\
1 NO MORE OCCURRENCES
1 N$,C$,C$,DUR:
1 Monitor
1 MONITOR
1 MID/LOW RIGHT-SCR",S
1 MID/LOW LEFT-SCR",S
1 MID RIGHT-SCROLL",S
1 MID LEFT-SCROLL",S
1 MEMORY FULL
1 Lvu3d B@
1 Load a file
1 Length =
1 LOW-WL:K3 sLOW-PR:K4 pRED-PR:Sw sTR.-nO:En
1 LOW-LT:K3 sLOW-PR:K4 pRED-PR:Sw iDTI-ST:En
1 LOW RIGHT-SCROLL",S
1 LOW LEFT-SCROLL",S
1 LORES TOP 1/3 SCR-RGHT
1 LIST Press any key to stop
1 LENGTH =
1 LEFT-SCROLL",S
1 LEFT-SCROLL",33
1 L);"'CODE ";A;",";B
1 Kempston lines
1 KVU-FILEcC
1 KL.WYR:Ej pERENOS:Ew wYR.RAZ:e2 wKL@^-$:ei
1 KILL CONDENSER",D
1 KAtalog diska..........................-C-
1 JVU-FILEsC
1 J;"----> ";
1 J,H;"Routine Length is ";B;" bytes
1 Ivufl B
1 Interwal (1-3): ";
1 Insert the disk and press a key
1 Insert off
1 Incorrect Number
1 Incorrect Address
1 Ifp1.7/mcC
1 If this is OK, press enter.If itis not, enter the new name (notethat only the first 8
1 IS LOADING
1 INTERWAL kOPII
1 INTERW. |KZEMP
1 INDEX PAGE ";(C-E)/
1 INDEX - PAGE ";(Z-1
1 INCORRECT NUMBER
1 INCORRECT ADRESSs
1 I;"Less Sig More Sig":
1 Hidden line Print Colour Keep Quit "
1 HIDDEN LINE
1 H,D;" The ZX Microdrive spends most of its time trying to locate a file - actual loading is swift. 2 ways of saving files so that they can be accessed faster are (a)
1 Gzeud C
1 GGGGGGGGGGGGGGGGGGGGGGGG
1 GFP v1.7 B7
1 G,D;"1)Make line1 1
1 Freddy A Vachha & Vic B Rumsey
1 File exists
1 FZEUS D B
1 FZ80L C@
1 FREE-SCROLLERN
1 FFFFFFFFFFF
1 F.VACHHA BSc
1 Execute must have a parameter
1 Enter Routine No:
1 Enter Index Page No:
1 E^ATX :Ep pAR.PE^:Eg iZM.kup:Et kATALOG:Ec
1 E^ATX :Ep mEN@-P^:Eg uST/rst:Et kATALOG:Ec
1 EZ80S C
1 EZ80L B'
1 EXECUTE MUST HAVE A PARAMETER
1 EXCHANGE",E
1 ENTER A RECORD "STOP" to exit
1 ENTER 1-6 FOR REQUIRED OPTION
1 END OF FILE*
1 END ADDRESS :
1 EFFECTS",I
1 EDIT for Help
1 Do you want the string select to remain active?
1 DO YOU WANT THE TOP OPEN? Y OR N
1 DISK(1-4):
1 DISK 1-4 :
1 DATA FIELDS Move the cursorwith the arrow keys and press"ENTER" to mark the start ofeach data field. "STOP" to exit
1 DALITX:K0 uBR>STR:K9 uBR>>FL:e9 uBR-WSE:e#
1 D,D;A$;A$;A$;A$:
1 Copy must have 3 parameters
1 CORRECTED BY KSA SOFTWARE,SPECIAL FOR SOFTSTAR Ltd. 1994
1 COPY MUST HAVE 3 PARAMETERS
1 COMMANDS ARE: Enter Alter InformForward Back Reset Order SelectQuit List Print Copy Delete
1 COLOUR Change the colours forsubsequent titles by pressingthe colour number required, orpress "ENTER" to leave unchanged
1 COLOUR Press a colour number(0-7) to define paper and inkcolours for this data field:PAPER INK
1 CAPS LOCK capitals lock
1 CAPS + SYMBOL SHIFT - enter or leave extended mode C O P Y R I G H T 1 9 8 3 T A S M A N S O F T W A R E ENTER returns to text. Both shift keys for the other help page. < < < T A S W O R D T W O > > > Extended Mode Control Keys SCROLLING FORMATTING F - fast scroll down E - right justify on/off G - fast scroll up W - word-wrap on/off J - justify line ZX PRINTER H - unjustify line P - print text file L - large printing on marker MARGINS K - large printing off marker A - set left margin at cursor S - reset margins to normal MISCELLANEOUS D - set right margin at curso
1 C/D/E/I/N/P/Q/R/S/X
1 Bw b\JSIH-STR.
1 BpE^ATATX
1 Back into TLW ...
1 BYTES USED: ,REMAINING:
1 Arrays"'" (5) FOR..NEXT control variables"'" Also see #70.";
1 A^ALO :Ea kONEC :Ez pRED.LI:Eu sL.LIST:Ed
1 A^<STR:e5 kON>STR:e8 sTRN-WW:e7 sTRN-WN:e6
1 A^.STR:e5 kON.STR:e8 lIST-WR:e7 lIST-WN:e6
1 A^-FJL:Ea fL-STER:E# wW-A-PV:Eu wN-A-PV:Ed
1 ANY OTHER KEY TO START
1 ANY OTHER KEY TO RESTART
1 ANY OTHER KEY TO GO ON
1 ANY OTHER KEY
1 ANY OTHER KEY
1 ALXKUL:ec tAJMER :ex wYHOD :Sq >b\JSIK:Eb
1 ALTER A RECORD SHIFT-6 to skip a data field
1 ALK'TR:ec tAJMER :eh oTMENA :Sq >bEJSIK:Eb
1 AGRUZ.:El sOHRAN.:Es sTERETX:Ee fORMAT :Ef
1 AGR-th:El wYGR-th:Es sTER-FL:Ee fORMAT :Ef
1 ADDRESS",D
1 A/C/D/E/I/J/L/M/N/P/Q/R/S/T
1 A$;A$;A$;A$:
1 @ukp PREFIKS
1 @rst PREFIKS
1 @ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~!
1 >1 copies of the file on the same cartridge:for x copies,do
1 =Z80S B2
1 <cccccccJCUe
1 ;supercodC@
1 ;supercodB
1 ;a$;" Ok.":
1 ;"with (just ENTER for find only)":
1 ;"type word to be replaced / found"
1 ;"type the name of the text file";
1 ;"top left hand corner of the box"
1 ;"text file ";a$;" saved:";
1 ;"scroll?????ccc"
1 ;"rererererererererererer":
1 ;"print text file p"
1 ;"press y for yes";
1 ;"n for no"
1 ;"just a word - no spaces allowed":
1 ;"do you want to verify ";a$;" ?":
1 ;"code4=";
1 ;"and press ENTER"
1 ;"__________
1 ;"You may now NEW the BASIC loader"''" Please refer to manual"
1 ;"You can scroll attributes too by using this routine & then No: 37 - 40, after defining an appropriate box & setting the Attr Value to 63."
1 ;"WRAP-AROUND POKE ";A+16
1 ;"WRAP-AROUND POKE ";
1 ;"WRAP AROUND POKE ";A+13
1 ;"VU-FILE loading"
1 ;"VERIFY file '";a$;"' ? (y/n)":
1 ;"V1.7:48K RAM"
1 ;"To say the 2 byte equivalent of X is L(Less)/M(More) sig: bytes means that 256 * M + L = X . This routine permits instant conversion of a number from 0 - 65535 to its 2-byte equivalent. To convert X into its 2-byte equivalent, enter RANDOMISE X.
1 ;"To save this routine, use";
1 ;"To renumber lines starting with S using an interval I, first POKE 59580,I: POKE 59582,S-256* INT(S/256):POKE59583,INT(S/256) All GOTOs,GOSUBs,LISTs,LLISTs, RESTOREs,SAVE...LINEs & #Ns are renumbered(except for decimal/ calculated arguments & REMs).If the arg
1 ;"To help with PRINTing/PLOTting, this routine prints a BRIGHT ON /OFF checkerboard on the screen"
1 ;"To delete all lines from a to b POKE 23728, a - 256*INT(a/256) POKE 23729, INT(a/256) RANDOMISE b":
1 ;"To call this routine, use";
1 ;"This routine will switch all flashing squares to steady & vice versa. This is hence very different from routines 32/33."
1 ;"This routine will switch all bright squares to normal & vice versa. This is hence very different from routines 34/35."
1 ;"This routine waits till a key (whose CODE will be put in L)is pressed.":
1 ;"This routine undoes the effect of #98, to allow lines of a CONFUSEd program to be EDITed/ altered.":
1 ;"This routine swops all chara- cters of a given CODE with all characters of a 2nd given CODE. POKE 63903, Old CODE POKE 63905, New CODE"
1 ;"This routine simulates a power- off: ie, it not only does NEW but also CLEARs RAMTOP to its original value, clears the entire memory & resets UDGs & System VARs.":
1 ;"This routine shortens & speeds up your program by deleting all REM statements in it. Also see #41,#82,#90 & #100.":
1 ;"This routine replays what #77 recorded. It is probably best to use your cassette-recorder (MIC socket) to amplify the sound.":
1 ;"This routine replaces numbers in the program by VAL String, which saves space but reduces speed. 0 is replaced by NOT PI. Also see #41,#64,#82,#90":
1 ;"This routine prints the address of the first character in the line the cursor points to.":
1 ;"This routine prints out both the no: of lines & statements in the program. If you try this out, use GOTO 9001 to restart."
1 ;"This routine prints out a full analysis of memory contents, starting at the address whose less & more significant bytes (see #61) have been POKEd into 62866 & 62867 respectively. The 4 columns are address, contents in decimal & hex & CHR$ (where printable).":
1 ;"This routine places a random # pair in the System Variable SEED ( PEEK 23670 & 23671 )." ;
1 ;"This routine lists all (1) Numeric variables (2) String variables (3) Numeric Arrays (4) String Arrays (5) FOR..NEXT control variables"
1 ;"This routine inserts a given number into a block of memory. POKE 63796, No: of bytes POKE 63798 (less sig) & 63799 (more sig), Start Address POKE 63801, No: to be inserted"
1 ;"This routine expands programs so that there is exactly one statement per line (except in IF..THEN lines).In reply to the prompt, enter the no: of the line you want expanded, or just ENTER if you want the entire program expanded. You must use #60 after calling this routine.":
1 ;"This routine enables you to determine the
1 ;"This routine deletes hidden colour items, thus saving space Also see #64,#82 & #100":
1 ;"This routine decodes tapeheader information & prints out a full analysis (name, address, type, length & auto-start details.":
1 ;"This routine converts hex no:s to their decimal equivalents. It clears the screen & prompts 'H:' - now ENTER the hex no:. Only the last 4 hex digits will be converted. The routine auto- repeats. Enter 'Q' to quit to BASIC. When called from #92(Hex Loader) only the last 2 digits are considered.":
1 ;"This routine converts decimal no:s from 0 to 65535 to hex. It clears the screen & prompts 'D:' - now ENTER the dec no:. Error message 6 results if the no: was out of range. The rou- tine autorepeats. Enter 'Q' to quit to BASIC.":
1 ;"This routine contracts programs into the minimum no: of lines, by combining lines wherever it is logically possible. Speed is also increased. See also #41, #64, #90 & #100":
1 ;"This routine allows hex input into RAM.POKE the less/more sig (see #61) bytes of the first address to be changed into the system-var DEFADD (23563/4). POKE 65360/61 with the start address of routine #63(Hex-Dec) which must also be in memory.":
1 ;"This routine allows a block of lines to be relocated within a BASIC program.In order to shift lines 4200 till 6745 so they appear after2200 in the listing respond 4200,6745 & 2200 to the auto-prompts.The new lines will all have number 0.Now call #60 to renumber & #57 to delete the old lines. Fully errorproofed.":
1 ;"The free space F from the last Variable to RAMTOP is printed. By the way, you can use POKE 23637,203:POKE 23638,92:SAVE 'Name'CODE 23552,RAMTOP-23550-F to save your program disguised as code - it will autostart at the first line.";
1 ;"The Toolkit contains
1 ;"Text ";a$;" lenght:";
1 ;"Tasword Two";
1 ;"THIS IS AN EXAMPLE OF THE NEW CHARACTER SET.POKE 23606/7 WITH THE LESS/MORE SIGNIFICANT BYTES OF THE START ADDRESS LESS 256 - CURRENTLY 0 & 223. TO RETURN TO THE NORMAL SET,POKE 23607,60.":
1 ;"Start at line? (1)":
1 ;"Screen paper? "
1 ;"Screen ink? "
1 ;"SCROLL-OFF POKE ";A+16
1 ;"SCROLL-OFF POKE ";
1 ;"SCROLL-OFF POKE ";A+13
1 ;"Routines 94 to 97 change the case (upper/lower)of strings or of the entire listing ( except strings),as specified.Note that an effective way of switching case from within programs is to POKE 23658,0 (LO) or 8(HI).":
1 ;"Routine in ROM":
1 ;"Reset interface/printer codes?":
1 ;"RAMTOP? ":
1 ;"Print: ";v:
1 ;"Press the q key to quit printing"
1 ;"PRINTER ERROR!":
1 ;"PRINT OPTIONS":
1 ;"PRINT AT co-ordinates of the";
1 ;"PRINT - text ................. p"
1 ;"PRESS KEY
1 ;"POKE 64884, Overall Paper Col"
1 ;"POKE 64859, Overall Ink Colour"
1 ;"POKE 64829, Character Code POKE 64831, Box height POKE 64834, Box Width POKE 64832 & POKE 64835 with the PRINT AT co-ordinates for the top-left hand corner of the box."
1 ;"POKE 64682, Duration POKE 64693, Frequency 1 POKE 64702, Frequency 2"
1 ;"POKE 64648, Frequency POKE 64649, Span POKE 64651, Duration POKE 64670, 28(UP) or 29(DOWN)"
1 ;"POKE 63011, Pitch Decrement POKE 63012, Number of notes POKE 63014 & 63015, Pitch (less/more sig) POKE 63017 & 63018, Duration in ms (less/more sig)"
1 ;"POKE 63001 & 63002 with the Pitch value (less/more sig) POKE 63004 & 63005 with the Duration in ms (less/more sig)"
1 ;"POKE 60006, Duration (1-127) POKE 60020, Colours (0-7) POKE 60029, Line Space (1-255)
1 ;"POKE ";A+7
1 ;"POKE ";A+6
1 ;"POKE ";A+4
1 ;"POKE ";A+1
1 ;"Out of memory":
1 ;"No data present":
1 ;"No GOSUBs or GOTOs are changed- use #60 if you need that done. If L is the first Line to be renumbered, & I the Interval POKE 64711, I - 256*INT(I/256) POKE 64712, INT(I/256) POKE 64714, L - 256*INT(L/256) POKE 64715, INT(L/256)":
1 ;"Name of text file for saving?":
1 ;"Name file: ";a$:
1 ;"Move the cursor to the required line & then call this routine. You will be in EDIT mode, but with the cursor at the END of the line.":
1 ;"Make the following POKEs:- INK (63732) PAPER (63738) FLASH (63744) BRIGHT(63750) INVERSE(63756) OVER (63762) AT (63768,63771)CHR$ (63774)"
1 ;"MAIN MENU"
1 ;"Line spacing? (1)":
1 ;"Light source?":
1 ;"Less Sig More Sig":
1 ;"Insert the disk and press a key":
1 ;"Input file name ":
1 ;"Input fail name & press ENTER"
1 ;"In order to scroll a table of data > 22 lines long without stopping, use the command POKE 23692,x where x is the no: of lines to be scrolled. To scroll 'forever' use POKE 23692,255 within the loop that generates the lines.":
1 ;"In order to print lists or text using all the 24 lines on the screen, include POKE 23659,0 before each PRINT instruction. At the end, POKE 23659,2. Use PAUSE 0 to prevent the Scroll command corrupting the screen. PRINT #0 & PRINT #1 commands are also usable.":
1 ;"In order to make the first line of your program virtually non- deletable (by making it #0)POKE 23755,0: POKE 23756,0. To do this to other lines, first find their address X using routine 88, then POKE X-4,0: POKE X-3,0 The program will work provided you do not GOTO/GOSUB/RESTORE such lines.":
1 ;"INVERSE SCRL POKE ";A+13
1 ;"INTRODUCTION":
1 ;"Having connected the EAR socket of the cassette-recorder to the Specrum, start PLAYing the tape ( Voice is best. Let Vol=max ) Enter CLEAR 32767:RANDOMISE USR 65290. All memory from 32768 to 65K is used. To replay, call routine 78.":
1 ;"Follow the prompts to expand a REM statement (to accommodate code) anywhere in the program, by up to 9999 bytes":
1 ;"Finish at line? (last)":
1 ;"File already in existence":
1 ;"FVN's disk version 1989";
1 ;"FULL COMPILER"
1 ;"ENTER 1 : EXIT PROGRAM"''
1 ;"Draw multipointed-stars & rings by first plotting a point near the middle of the screen & then using DRAW X,Y,N where X & Y have magnitudes from 10 to 60 & N lies between 8000 & 9999. You may need to experiment.":
1 ;"Draw any closed figure on the screen, then PLOT a point lying INSIDE it. POKE 59293 with the Attribute value to be filled,& then call this routine
1 ;"DISC VERSION"
1 ;"Corrupts the listing without affecting program execution: attempting to EDIT/alter lines could be fatal (thus useful for program protection, as are #61/ #80).":
1 ;"Call this routine at the start of your program, say by having as LINE 1, '1 RANDOMISE USR 60899'. Now if an error of the type D:BREAK,H:STOP in INPUT or L:BREAK into program occurs the program will not stop but will jump to the line number whose 2 byte equivalent is POKEd into 60952(lo) & 60953(hi).This line is initially 9495.":
1 ;"Call this routine at the start of your program, say by having as LINE 1, '1 RANDOMISE USR 60826'. Now if an error occurs, (other than types 0:OK,8:END or 9:STOP) the program will not stop but will jump to the line number whose 2-byte equivalent is POKEd into 60878(lo) & 60879 (hi)...initially 9495. For the error code, PEEK 23681.":
1 ;"By combining this routine with No:s 37-40, joint scrolling of attributes can be done. Define a suitable box, use an Attr Val of 63 & call the Attr Scroll routine(s) once for every 8 calls of this routine."
1 ;"By POKEing 23606 & 23607 with different numbers, a corrupted character set is obtained. To normalise, POKE 23606,0 : POKE 23607,60. Protect your program with this, temporarily normal- ising before each PRINTing.":
1 ;"Border colour? "
1 ;"Banner paper? "
1 ;"Banner ink? "
1 ;"BY PENCRAFT 1991"
1 ;"A Laser Zap routine can also be called,using
1 ;"3 : RETURN TO VU-CALC":
1 ;"2 : CLEAR WORKSHEET"''
1 ;"1)Make line#1 a REM statement: then POKE 23755,100. You can RUN the program but not LIST it until you POKE 23755,0. 2)POKE 23636,150. To return to normal, POKE 23636,92. 3)Use CONFUSE (#98) ,call #65 & #66 to disable BREAKs, use CHR$ SCRAMBLE (#59) to scramble the listing & #68 to create non- deletable lines with
1 ;"----> ";
1 ;", X - 256*INT(X/256)"'" POKE ";A+2
1 ;", New Attribute Val";
1 ;", INT(X/256)":
1 ;", Box width";
1 ;", Box height"
1 ;" to change the choice "
1 ;" press the ";
1 ;" key to proceed";
1 ;" RAMTOP at 40000?(Y or N)":
1 ;" ERROR":
1 ;" & POKE ";A+3
1 ;" press ";
1 ;" File Abandoned":
1 ;" Do you wish to;"
1 ;" Above Centre Below "
1 ;" ** SAGA SYSTEMS LIMITED **",
1 ;" Left Centre Right "
1 ;" ":
1 ;" ":
1 ;"
1 :these can be
1 :if not,only 1 of the copies might be erased."'" (b)When saving different parts of the program,
1 :Swop sets all squares with the item On,to Off, & all with the item Off,to On."
1 :On/Off toggle the given Colour item"'"
1 9990, & proceedto
1 7,13;: LET Z=
1 7,13, you must enter PRINT
1 7,13, enter PRINT
1 6r#6U#6S##6m###6r#6U#6S##6b
1 6l#6A#6T##6b###6l#6A#6T##6m
1 65360/61 with the start address of routine #63(Hex-Dec) which must also be in memory."
1 65290. All the memory from 32768 to 65535 is used.To replay,use #78."
1 64834, Box Width"'"
1 64832/5 with
1 64831, Box height"'"
1 64714/5, 2 byte eq of S Also see #60."
1 64711/2, 2 byte eq of I
1 64702, Frequency 2"
1 64693, Frequency 1"'"
1 64682, Duration"'"
1 64670, 28(UP) or 29(DOWN)"
1 64651, Duration"'"
1 64649, Span"'"
1 64648, Frequency"'"
1 63951, Duration"
1 63905, New
1 63903, Old
1 63801, No: to be inserted"
1 63798/9, Start Address (2 byte eq)"'"
1 63796, No: of bytes"'"
1 63713/14 with the address of the new
1 63652/53 with the 2-byte equiv.(see #101)of the address of the
1 63648, no: of
1 63502,No: of
1 63499/500,2 byte equiv. (see#101)of
1 63017/8, Time(ms) "" """
1 63014/5, Pitch( 2 byte eq)
1 63012, Number of notes
1 63011, Pitch Decrement
1 63004/5, Time(ms) "" """
1 63001/2, Pitch( 2 byte eq)
1 60899 Now if an error of the type D: BREAK, H:STOP in INPUT or L: BREAK into prog occurs,the prog will not stop but will jump to the line no: whose 2 byte equi- valent was
1 60826. Now if/when an error(other than types 0:OK,8:END,9:STOP)occurs the program will not
1 60713","113","HEX->DEC CONVERTER",E
1 60039.Z contains the required
1 60039 Now Z is the required code.":
1 60020, Colours (0-7)
1 60006, Duration (1-127)
1 6 Erase current file
1 59300,6100
1 58682,Box Length in
1 58681,Box Width in pixels
1 58680,64(Up)72(Mid)80(Low)
1 58679,Top Left Square
1 57344----(8118)----65461
1 57124 with 195 IF you wish to execute m/c from an address(
1 57114/15 with 1st byte's address.
1 57110/11 with no: of bytes
1 56777,Speed(from 1=Fast to 255=Slow):if too fast you might be unable to read it. Call the routine either before running program(ignoring the initial display)or during the program.TRACE remains ON until you enter
1 56640,8896
1 50000,15535
1 5 Load a new data file
1 4 Save data file
1 32s.Also see #71"
1 32812,12330
1 3 Set printer layout
1 2SUPERC2 BZ
1 23788.If = Program length found with #104 then it came from a MicroDrive"
1 23787+256*
1 23728/9, 2 byte eq: of a
1 23692,255 within the loop that generates the lines."
1 23676,255.";
1 23676, 223
1 23670 & 23671 now hold the less significant & more signi- ficant byte values respectively":
1 23670 & 23671 give the less sig: & more sig: bytes respectively."
1 23659,2. Use
1 23659,0 before each
1 23659,0 at prog start - the effect is that of no:5)."
1 23636.If=23755,it hasn't been paged in so far."'" (c)To check if the program just
1 23636,92.3)Use #59,#98,call #65/66 to disable BREAKs & #68 for nondeleta- ble
1 23636,150. To return to normal
1 23636),100. You can RUN but not LIST prog until you
1 23635+256 *
1 23607, 60.";
1 23607, 223
1 23606/7 WITH THE LESS/MORE SIGNIFICANT BYTES OF THE START ADDRESS LESS 256(THIS IS CURRENTLY 0/223). TO RETURN TO THE USUAL
1 23552,RAMTOP-23550-F to save your program disguised as bytes- it will autostart at the first line."'" Also see #104.";
1 23550,Address of LAST byte of
1 2 byte eq of Start Address in 63980/1 ) with the display
1 2 Set record layout
1 1o?aT\havo
1 1983 Martin Lewis"
1 12345,12345
1 120"'"Then enter
1 1 Enter VU-FILE
1 0sp13 B
1 00000,00000
1 0"'"Turn Page: Use ENTER or Jump"'"Menu:";:
1 0 to restart the toolkit. If called from #92, only the last 2 digits are considered."
1 0 to restart the toolkit."
1 0 restarts"
1 .sp12 C
1 .sp11 C
1 .SUPERC1 Bb
1 . Also try
1 - Print calls etc
1 - LET Basic variables
1 - 23549. When the
1 - - - pogasitx kursor ! 3 - - - - #
1 ,use routine 87 to find its
1 ,to the given address,a headerless file"
1 ,this routine merges a
1 ,say X, to a new
1 ,ZEUS2 C
1 ,"VARIABLES SEARCH/LIST",1
1 ,"UNI-NOTE SOUND-GEN",5
1 ,"UNI-BEEP SIMULATOR",15
1 ,"UNCONFUSE LISTING",1
1 ,"U-CASE STRINGS",1
1 ,"U-CASE PROGRAM",1
1 ,"TAPE HEADER READER",1
1 ,"SUPER-RENUMBER",1
1 ,"STAR/TORUS DRAW",1
1 ,"SHUTTER-SCROLL RIGHT",10
1 ,"SHUTTER-SCROLL LEFT",10
1 ,"SCREEN-PRINT",1
1 ,"SCREEN STORE",1
1 ,"SCREEN SEARCH",1
1 ,"SCREEN OVERPRINT",1
1 ,"SCREEN INVERT",1
1 ,"SCREEN GRID",1
1 ,"SCREEN FILL",1
1 ,"SCREEN EXCHANGE",1
1 ,"SCIFI CHARACTER SET",1
1 ,"RIPPLE-SCROLL RIGHT",255
1 ,"RIPPLE-SCROLL LEFT",255
1 ,"REPLAY SOUND",0
1 ,"REMKILL CONDENSER",1
1 ,"RECORD SOUND",0
1 ,"RANDOM NUMBER GENERATOR",20
1 ,"PROTECT PROGRAM",1
1 ,"PAPER CHANGE",1
1 ,"PAINT-FILL",1
1 ,"ON ERROR GOTO",1
1 ,"ON BREAK GOTO",1
1 ,"OBLIQUE SCROLL-OFF",1625
1 ,"NON-DELETABLE LINES",1
1 ,"MULTI-BEEP SIMULATOR",8
1 ,"MONOCHROME PROGRAM",1
1 ,"MEMORY AVAILABLE",1
1 ,"LORES TOP 2/3 SCR-RGHT",255
1 ,"LORES TOP 2/3 SCR-LEFT",255
1 ,"LORES TOP 1/3 SCR-RGHT",255
1 ,"LORES TOP 1/3 SCR-LEFT",255
1 ,"LORES SCROLL-UP",24
1 ,"LORES SCROLL-LEFT",33
1 ,"LORES SCROLL RIGHT",33
1 ,"LORES R-DIAG SCROLL",22
1 ,"LORES MID 1/3 SCR-RGHT",255
1 ,"LORES MID 1/3 SCR-LEFT",255
1 ,"LORES LOW 2/3 SCR-RGHT",255
1 ,"LORES LOW 2/3 SCR-LEFT",255
1 ,"LORES LOW 1/3 SCR-RGHT",255
1 ,"LORES LOW 1/3 SCR-LEFT",255
1 ,"LORES L-DIAG SCROLL",22
1 ,"LINE RENUMBER",1
1 ,"LINE ADDRESS",1
1 ,"L-CASE STRINGS",1
1 ,"L-CASE PROGRAM",1
1 ,"INK CHANGE",1
1 ,"HIRES SW-DIAG SCROLL",190
1 ,"HIRES SE-DIAG SCROLL",190
1 ,"HIRES SCROLL-UP",175
1 ,"HIRES SCROLL-RIGHT",255
1 ,"HIRES SCROLL-LEFT",255
1 ,"HIRES SCROLL-DOWN",200
1 ,"HIRES NW-DIAG SCROLL",176
1 ,"HIRES NE-DIAG SCROLL",176
1 ,"HEX->DEC CONVERTER",1
1 ,"HEX LOADER",1
1 ,"FREE-SCROLLER",1
1 ,"FLASH SWITCH",1
1 ,"FLASH ON",1
1 ,"FLASH OFF",1
1 ,"EXPAND REM",1
1 ,"EXPAND PROGRAM",1
1 ,"DUAL-NOTE SOUND-GEN",10
1 ,"DEC->HEX CONVERTER",1
1 ,"CONTRACT PROGRAM",1
1 ,"CONFUSE LISTING",1
1 ,"COMPRESS NUMBERS",1
1 ,"CLEAR ALL ",1
1 ,"CHR$ SCRAMBLE",1
1 ,"BRIGHT SWITCH",1
1 ,"BRIGHT ON",1
1 ,"BRIGHT OFF",1
1 ,"BORDER EFFECTS",10
1 ,"BLOCK MEMORY INSERT",1
1 ,"BLOCK LINE DELETE",1
1 ,"BLOCK LINE COPY",1
1 ,"AWAIT KEYPRESS",1
1 ,"ATTRIBUTE SCR-UP",40
1 ,"ATTRIBUTE SCR-RIGHT",200
1 ,"ATTRIBUTE SCR-LEFT",40
1 ,"ATTRIBUTE SCR-DOWN",40
1 ,"ATTRIBUTE FILL",1
1 ,"APPEND STATEMENT",1
1 ,"ANALYSE PROGRAM",1
1 ,"ANALYSE MEMORY",1
1 ,"ALL-RIGHT SCROLL",32
1 ,"ALL-LEFT SCROLL",32
1 ,"24-LINE PRINTING",1
1 ,"2 BYTE CONVERTER",1
1 , use a fresh cassette - the routine is saved under the name ";
1 , use GOTO 9001(not RUN)to restart the program."
1 , PEEK 23681."
1 , on an empty Spectrum,to
1 , which saves space but reduces speed. 0 is replaced by NOT PI. Also see #64,#82,#90,#103,#104. To save even more space,replace all commonly occurring numbers (ie 0,1,2,10 etc)by variables, defined at the start. Routine #72 is useful for locating no:s"
1 +ZEUS1 C
1 +A;", 26";
1 *ing:if a program is long/RAMTOP is low it could crash when you try to
1 *ing long programs.If any message besides 0 OK appears,shorten the prog: or
1 *SUPERCODE
1 **e\++++++F+N
1 ***RUSSIAN LETTERS***
1 *** ENGLISH LETTERS ***
1 *""m"";n;Name$
1 * it.That would lose the whole program.Instead,call this routine before
1 * ""m"";n;Name$(
1 * 1990 *
1 )to Tape/Microdrive,
1 ),No:s/Var (2.3,Z,A$),operations(*),rel(<) etc,or combinations of these.
1 ), or just after,part1,and call it from there.It will
1 (with Z=A+256*ZZ)as in case(1) overleaf.Note thatthe routine will no longer workat its old address."'"(3)The ROM routines & #120 are vdifficult to relocate (why ever relocate a ROM routine?!),#77/78have to be located at the top ofRAM.":
1 (same number),0.2)
1 (rEWIZI/pRINT/wYHOD)?
1 (X/256)"'"
1 (U-th/nOW/wYHOD)?
1 (KODY ms-6313)
1 (Fnaj/S zam/wyhod)?
1 (63768,63771)
1 (63762)
1 (63744)
1 (63738)
1 (63732)
1 (1)Using PAUSE"'"(2)W/out PAUSE
1 (*)/ INDEX/ CUSTOMISE"'"Restart: Use
1 (""SUPERCODE"", or ERCO),commands(
1 '/7?@HPX`hpxAIQYaiqyBJRZbjrzCKS[cks{DLT\dlt|EMU]emu}FNV^fnv~GOW_gow
1 '(exit).You willthen have the option of SAVEing the routine on tape,QUITting to BASIC or restarting."
1 ''''"ERROR was at"''"COLUMN ";
1 ''''"ENTER data file name":
1 '"This routine will be saved with the provisional name
1 '"If the program stops executing and returns to BASIC with an error code then enter:"''"GO TO
1 '" (1)At 10% Speed, using PAUSE"'" (2)At Full Speed"
1 '" To access the next routine in the Index, press '
1 '" To access a routine whose no: you know, press '
1 '" If you would like to have the details of this routine again, press '
1 '" If you wish to return to the Index, press '
1 ' (repeat)"
1 ' (number)":
1 ' (index)"
1 ' (continue)"
1 & statement no: currently being executed.
1 $ZEUS B
1 #4; is executed(use with r.no:65) This pages in the shadow ROM, if present."'" (b)To check if the shadowROM is paged in,
1 #0/#1.If the lower part of
1 # command does
1 # GENERATOR",E
1 "type 1,2,3,4,5,6 or 7 ";e$
1 "type 1 or 2 ";e$
1 "save text file s"
1 "save tasword t"
1 "return to text file y"
1 "programs.This BASIC program letsyou list,test,customise,relocateSAVE & VERIFY routines easily - but the routines will work just as well if the program is absent"
1 "merge text file m"
1 "load text file j"
1 "kOOPERATIW *bajt*"
1 "into Basic b"
1 "define graphics/printer g"
1 "VU-FILEs"
1 "VU-FILEc"
1 "Type graphics character code 128-143 (
1 "Title ";t$:
1 "The save MUST then be verified."
1 "The code is from 57344 to 65461:it overwrites the first 12 UDGs.RAMTOP has been cleared to 57340"
1 "The Index follows- input the no:of a routine for its description(incl all addresses & POKEs)& anoptional example.Get to know theMenu options ";:
1 "That was the Laser Zap. Now for the Uni-Beep.":
1 "Start=";s'"File length=";l:
1 "Screen paper colour ";ps:
1 "Screen ink colour ";is
1 "SAVE - text .................. s"
1 "ROW ";d$:
1 "ROW ";d$:
1 "ROM","0","STAR/RING DRAW",E
1 "ROM","0","PROTECT PROGRAM",D
1 "ROM","0","NON-DELETABLE
1 "ROM","0","MDRVE DIAGNOSIS",D
1 "ROM","0","FREE-SCROLLER",E
1 "ROM","0","FAST
1 "ROM","0","CHR$ SCRAMBLE",E
1 "ROM","0","AUTO
1 "ROM","0","24
1 "ROM","0","2 BYTE CONVERTER",E
1 "RETURN to BASIC .............. b"
1 "RETURN - to text ............. y"
1 "Printer control graphics chars:"
1 "Press ENTER to continue";b$:
1 "Please replay the tape.":
1 "POKEs necessary for tailormakingthe program to your specific needs ) press '
1 "OPTION? ";a
1 "OK,the name is
1 "Name of the file: ";a$
1 "Name file: ";
1 "Move the cursor to the required line & then call this routine. You will be in EDIT mode, but with the cursor at the END of the line."
1 "MERGE - text ................. m"
1 "Length: ";b:
1 "LOAD - text .................. j"
1 "L" TO LOAD A FILE
1 "Further Reading: Programming the Z80 (R.Zaks,ISBN 0-89588-094-6) Complete SpectrumROMDisassembly (I.Logan&F.O'Hara,ISBN 0-86759- 117-X)":
1 "File ";a$''"S -
1 "F R ` F R `"'':
1 "Enter file name: ";
1 "DISKERROR=";err:
1 "CATOLOG - disk ............... c"
1 "Border colour ";b:
1 "Banner paper colour ";pb:
1 "Banner ink colour ";ib:
1 "And now at slow speed":
1 "A:RODIONOV"
1 "A:12345678"
1 ";A+P;", Box Width"'"
1 ";A+M;", Box Height"
1 ";A+G;" with"'"
1 ";A+F;", INT(X/256)"
1 ";A+E;", X- 256*
1 ";A+E;", Overall Colour"
1 ";A+E;", New Attribute Val"'"
1 "9";"1- EXIT";
1 "9",H;"To call this routine, use";
1 "9",D;" If the 2 byte equivalent of X = L(Less)/M(More) sig: bytes,then L+256*M=X.The less significant byte comes 1st. This routine is an instant converter of numbers from 0-65535 to their 2 byte equivalents.To convert X to its 2 byte equiv.,enter
1 "8";"Start: ";buf:
1 "8";"Lenght:";a
1 "7";" "
1 "65494","32","PIXEL RIGHT-SCROLL",S
1 "65462","32","PIXEL LEFT-SCROLL",S
1 "65350","112","HEX
1 "65318","32","REPLAY SOUND",D
1 "65290","28","RECORD SOUND",D
1 "65277","8","SURE
1 "65256","21","
1 "65204","52","
1 "65143","61","
1 "65081","62","
1 "65026","55","
1 "64982","44","
1 "64965","17","
1 "64948","17","
1 "64931","17","
1 "64914","17","
1 "64884",M:
1 "64883","31","
1 "64858","25","
1 "64828","30","
1 "64809","19","
1 "64784","25","
1 "64771"-a+
1 "64756","28","
1 "64744","12","
1 "64706","38","
1 "64675","31","DUAL-NOTE SOUND-GEN",J
1 "64647","28","UNI-NOTE SOUND-GEN",H
1 "64629","18","SHUTTER RIGHT-SCROLL",I
1 "64611","18","RIPPLE RIGHT-SCROLL",S
1 "64593","18","SHUTTER LEFT-SCROLL",I
1 "64575","18","RIPPLE LEFT-SCROLL",S
1 "64550","25","
1 "64525","25","
1 "64500","25","
1 "64475","25","
1 "64450","25","
1 "64425","25","
1 "64400","25","
1 "64375","25","
1 "64350","25","
1 "64325","25","
1 "64300","25","
1 "64275","25","
1 "64211","59","LOWER-CS PROGRAM",D
1 "64197","14","MEMORY AVAILABLE",E
1 "64098","99","PIXEL DOWN-SCROLL",192
1 "64001","97","PIXEL UP-SCROLL",192
1 "63976","25","
1 "63950","26","LASER ZAP",I
1 "63902","43","
1 "63806","96","BLOCK
1 "63795","11","BLOCK MEMORY INSERT",E
1 "63777","18","
1 "63728","49","
1 "63644","83","
1 "63490","154","
1 "63382","108","INITIALISE",D
1 "63205","177","
1 "63163","42","
1 "63143","20","
1 "63124","19","
1 "63051","73","
1 "63034","17","OBLIQUE SCROLL-OFF",1625
1 "63010","24","MULTI
1 "63000","10","UNI
1 "62943","54","MONOCHROME PROGRAM",D
1 "62857","86","ANALYSE MEMORY",E
1 "62819","38","
1 "62533","286","TAPE HEADER READER",D
1 "62404","129","ANALYSE PROGRAM",E
1 "62087","317","EXPAND PROGRAM",D
1 "61400","687","CONTRACT PROGRAM",D
1 "61000","400","BLOCK
1 "60972","24","AWAIT KEYPRESS",D
1 "60954",a-
1 "60899","72","ON BREAK
1 "60879",D:
1 "60878",J:
1 "60826","73","ON ERROR
1 "60595","118","DEC->HEX CONVERTER",E
1 "60494","101","
1 "60407","86","APPEND STATEMENT",D
1 "60222","185","VARIABLES
1 "60192","30","
1 "60162","30","
1 "60039","123","
1 "60029",Z:
1 "60029",I:
1 "60020",F:
1 "60006",I:
1 "60000","38","
1 "6";"~The Last Word ...~",
1 "6";"Printer ready?":
1 "59988","12","PROGRAM LENGTH",E
1 "59975","13","
1 "59294","681","SUPER-RENUMBER",D
1 "59136","158","PAINT-FILL",E
1 "58892","244","
1 "58833","59","UPPER-CS
1 "58774","59","LOWER-CS
1 "58715","59","UPPER-CS PROGRAM",D
1 "58683","31","BLOCK MEM
1 "58608","75","PIXEL BOXRIGHT SCROLL",S
1 "58571","112","PIXEL BOXLEFT SCROLL",S
1 "58398","173","UNCONFUSE
1 "58263","135","CONFUSE
1 "58115","148","COMPRESS NUMBERS",D
1 "57344","768","SCIFI
1 "57176","168","FOREIGN ACCENTS",E
1 "57159","17","ADAPT PROGRAM",D
1 "57126","33","SURE
1 "57108","18","HEADERLESS FILES",D
1 "57094","14","ANTI-
1 "56777",E:
1 "56640","450","TRACE VARI-SPEED",E
1 "56"*(N<P)'" SCROLL-OFF:
1 "54"+(N<P):
1 "5";"Tasword Two/SK/MC-6312";
1 "4)Imbed hidden colour CHR$ to set INK=PAPER within non-delet- able lines:the listing vanishes5)Autostart by using SAVE Name$ LINE X. Let line X be 'LET ERR= 256*PEEK 23614 +PEEK 23613:POKE ERR,0:POKE ERR+1,0'. Any BREAK/ error will now cause a crash.":
1 "4)Embed hidden colour CHR$ to set
1 "36"+A;", 26"'" SCROLL-OFF:
1 "36"+A;", 0"
1 "3438","0","LOWER
1 "3190","0","
1 "30466"+256*
1 "2590"*(N$="L")
1 "23659",F*(N=
1 "23611",s:
1 "23606",D:
1 "234"-Z,D:
1 "23295"+Z,
1 "2.3025"):
1 "2";"File '";a$;"' is absent!":
1 "2";" press
1 "2";" Press
1 "19",E;"8 calls"
1 "18",D;" WRAP-AROUND:
1 "16";"Right"
1 "15",E;"To scroll attributes as well, refer to routines 37-40(define suitable box & Attr value).Call the attribute scroll once per 1 call of this routine.":
1 "13";"VU-CALC":
1 "13";", 0"
1 "1210"+N*I:
1 "111"),D;"
1 "109"),H;"
1 "1";"press key"
1 "1";"Text o'key!":
1 "1";"Text file error! Press key":
1 "1";"Press key":
1 "1";"Insert disk & press key":
1 "0","0","RESET",D
1 "******** PRINTER O'KEY ********"
1 "'''"Where any part of SUPERCODE is used,a prominent credit must be given to this fact, and to its authors, F.A.Vachha BSc & V.B. Rumsey.":
1 "''"Number of Routines:
1 "''"Define Z1,Z2:-"'"For
1 "''"(1)To move a Relocatable Routineso that it starts at address Z,first
1 "'"Place: 56640-65535(RAMTOP=56639)Help Prog:
1 " WRAP-AROUND:
1 " To renumber without
1 " To renumber lines starting with S using interval I,
1 " To make a
1 " To help with
1 " To delete all lines from a to b
1 " This routine zeroes all numeric variables/arrays,sets all
1 " This routine waits till a key (whose CODE will be put in L)is pressed.";
1 " This routine undoes the effect of #98, to allow lines of a CONFUSEd program to be EDITed/ altered."
1 " This routine swops all
1 " This routine simulates a power- off: ie, it not only does
1 " This routine shortens+speeds up programs by deleting all
1 " This routine replays what #77 recorded. It is probably best to use your cassette-recorder (MIC socket) to amplify the sound."
1 " This routine replaces numbers in the program by VAL
1 " This routine replaces each occ- urrence of a specified
1 " This routine prints out a full analysis of memory contents, starting at the address whose less & more significant bytes (see #101)have been
1 " This routine places a random # pair in the System Variable SEED ( PEEK 23670 & 23671 )." ;
1 " This routine operates on
1 " This routine merges a
1 " This routine loads information stored in memory into an auto- created
1 " This routine lists each
1 " This routine lists all"'" (1) Numeric variables"'" (2)
1 " This routine inserts a given number into a block of memory.
1 " This routine expands programs so that there is exactly one statement per line (except in IF..THEN lines).In reply to the prompt, enter the no: of the line you want expanded, or just ENTER if you want the entire program expanded. You must use #60 after calling this routine."
1 " This routine enables you to determine the
1 " This routine does a
1 " This routine deletes all hidden colour
1 " This routine decodes tapeheader information & prints out a full analysis (name, address, type, length & auto-start details."
1 " This routine converts decimal no:s from 0 to 65535 to hex. It clears the screen & prompts 'D:' - now ENTER the dec no:. Error message 6 results if the no: was out of range. The rou- tine autorepeats. Enter 'Q' to quit,&
1 " This routine allows hex input into RAM.POKE the less/more sig (see #101)bytes of the first address to be changed into the system-variable DEFADD(23563/4)
1 " This routine allows a block of lines to be relocated within a BASIC program.In order to shift lines 4200 till 6745 so they appear after2200 in the listing respond 4200,6745 & 2200 to the auto-prompts.The new lines will all have number 0.Now call #60 to renumber & #57 to delete the old lines. Fully errorproofed."
1 " The routine speeds up+contracts programs into the minimum no:of
1 " The routine changes all squares with a given
1 " The routine
1 " The free space F from the last Variable to RAMTOP is printed. Use
1 " THIS IS AN EXAMPLE OF THE SCIFI
1 " Routines 94 to 97 change the case (upper/lower)of strings or of the entire listing ( except strings),as specified.Note that an effective way of switching case from within programs is to POKE 23658,0 (LO) or 8(HI)."
1 " Press any other key to restart."
1 " In some cases the command
1 " In order to scroll a table of data > 22 lines long without stopping, use the command
1 " INVERSE SCR:
1 " Having connected the EAR socket of the cassette-recorder to the Spectrum,start playing the tape (Voice is best;Vol=Max),&
1 " Follow the prompts to expand a REM statement (to accommodate code) anywhere in the program, by up to 9999 bytes"
1 " Draw multipointed-stars & rings by first plotting a point near the middle of the screen & then using DRAW X,Y,N where X & Y have magnitudes from 10 to 60 & N lies between 1000 & 9999. You should experiment."
1 " Draw any closed figure on the screen, then PLOT a point lying INSIDE it. POKE 59293 with the Attribute value to be filled,& then call this routine."
1 " Corrupts the listing without affecting program execution: attempting to EDIT/alter lines could be fatal (thus useful for program protection, as are #68/ #80)."
1 " Call this routine at the start of your program, say by having as
1 " By POKEing 23606 & 23607 with different numbers, a corrupted character set is obtained. To normalise, POKE 23606,0 : POKE 23607,60. Protect your program with this, temporarily normal- ising before each PRINTing."
1 " BASIC programs with m.code in
1 " A set of accented
1 " press -":
1 " just press ENTER for default values given in brackets"
1 " The routines run hundreds of times faster than BASIC,& can becustomised easily. Do enjoy yoursuperb Z80 MachineCode Library!"
1 " Keep a written record of the name, address & length of this routine, as well as of all the relevant POKEs. For details on relocation, refer to the manual."
1 " If you have noted important details ( address, length, any"
1 " press any key to continue":
1 " Use Abandon to delete it":
1 " 2) to return to main menu"
1 " 2) Load a data file"
1 " 1) to try again":
1 " 1) Create a new figure":
1 " 7) Change colours"
1 " 6) Display "
1 " 5) Save a data file"
1 " 4) Create a new figure"
1 " 3) Load a data file"
1 " 2) Abandon"
1 " 1) Modify a figure"
1 ~ | \ { } !
1 ~ | \ { } !
1 wozwrat na tekst. sar+
1 values are not changed.Refer to #25-27 for
1 to move figure "
1 to move figure "
1 to move cursor CAPS SHIFT-slow cursor "
1 to keep values given:"
1 to """" & all dimensioned
1 swops the current screen & the STOREd one A screen has 6912 bytes (24*32* 8, + 24*32 Attributes) & should be stored above RAMTOP (CLEARed downwards to make room).To have a screen from X-6911 to X use POKE ";A+1
1 swops the current screen & the STOREd one A screen has 6912 bytes (24*32* 8, + 24*32 Attributes) & should be stored above RAMTOP (CLEARed downwards to make room).To have a screen from X to X+6911, use
1 pERERABOTAN lAPTEWYM &
1 onoff C A P S L O C K 6
1 o > > > ehte
1 nOMER :
1 messages."
1 messages"
1 machinecode routines which you can call(using RANDOMIZE/PRINT USR) bothdirectly & from within your own"
1 m/code O.K.
1 is now called
1 if finished)";a$:
1 if finished)";a$
1 iSK(f)/zAM(s)/(q)?
1 for continue,";
1 double strike
1 does not close all streams.If this occurs,use this routine."
1 da, STR.
1 V.RUMSEY
1 Tasman Software 1983":
1 Tasman & SK Software 1983/1990":
1 TNE TEHT
1 THE DISK VERSION
1 Start Line Delete End
1 SECOND PASS
1 SAVE""Name""CODE ";A;",";B
1 Printer on
1 PRESS ANY KEY TO TURN THE PAGE
1 POKE 63951,Duration. To save it use SAVE 'ZAP'CODE 63950,26."
1 POKE 23607, 223
1 On EpsonFX80 Off TRUE VIDEO cursor to word left
1 NO ERRORS
1 Myrmidon Software 1986",:
1 Myrmidon Software 1986
1 Magnify Reduce Picture Near Far CAPS SHFT-slow Quit
1 K=K/[IFT S=S/[IFT E=K/[+S/[ e=E+S/[IFT
1 K=K/[IFT S=S/[IFT E="e" KOM. e=E+S/[IFT
1 FIRST PASS
1 F.VACHHA
1 ERR+1,0'.Any BREAK/ error will now cause a crash. 6)
1 DATE:"190194"20.01."21.01."22.01."23.01."24.01." 25.01"26.01."27.01."28.01."29.01."30.01."31.01." + " 30000 125000 148800 0 0 0 0 0 0 0 0 0 0
1 DATE:"190194"20.01."21.01."22.01."23.01."24.01." 25.01"26.01."27.01."28.01."29.01."30.01."31.01." + " 30000 125000 0 0 0 0 0 0 0 0 0 0 0
1 DATE:"190194"20.01."21.01."22.01."23.01."24.01." 25.01"26.01."27.01."28.01."29.01."30.01."31.01." + " 30000 0 0 0 0 0 0 0 0 0 0 0 0
1 59580 ,I: POKE 59582/3,2 byte eq:of S Each
1 23692,x where x is the no: of lines to be scrolled. To scroll 'forever' use
1 1991 SI SOFT
1 1983 Martin Lewis
1 1983 Crystal Computing
1 1983 CRYSTAL COMPUTING *
1 1983 * SI SOFT
1 1.The 2 byte equivalents(see # 101)of the starting address of the memory & the no: of bytes must be stored in 63209/10 and 63206/07 respectively."
1 - zapre}enie deleniq slow w/w
1 - zamenitx/najti w - ust. na~alo bloka
1 - wyrownqj stroku wprawo PRINTER N - naru{x wyrawniwanie stroki r - nape~ataj tekst
1 - wkl. wysoku`. pe~atx POLQ K - wykl. wysoku` pe~atx a - ustanowi lewoe pole
1 - ustanowi normalxnye polq RAZNOE d - ustanowi prawoe pole s - zamena okna w tekste (64/32) h - sotri wesx tekst RABOTA S BLOKAMI
1 - ust. konec bloka m - pere{li blok k kursoru
1 - revim wstawki wkl./wykl.
1 - na stranicu wpered E - wyrawniwanie wprawo wkl./w.
1 - na stranicu nazad
1 - kopiruj blok k kursoru ed
1 - dop. znaki ! 4 - - - - $ de
1 - PRESS ANY KEY TO GO ON
1 - - - podwinx tekst wniz !
1 - - - - idi na konec teksta ! N - - - - ^ at - - - - idi na na~alo teksta !--------
1 #&),037;?CGKOTX]bglqw|
1 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_#abcdefghijklmnopqrstuvwxyz{|}~@
1 the cursor is pointing to.";
1 stored in RAM (
1 ster"STR"? l
1 proportional
1 no:,the next valid
1 kordial * 1992
1 emphasised
1 but also
1 X,Y;""Optional Message"";Variable The method works with
1 Shade
1 Open Close Figure Magnify Quit Next z Reduce
1 NO EXE-FILE !
1 MAGNIFICATION= . Z=
1 MAGNIFICATION= . Z=
1 Key 8ENTER - - start of next line
1 Key 7TO - - - - scroll down
1 Key 6NOT - - - delete line
1 Key 5AT - - - - go to start of text
1 Key 4AND - - - insert line/character
1 Key 3<> - - - - centre line
1 Key 2DELETE - - delete character
1 Key 1ARROWS - - cursor movement
1 G R A P H I C S !
1 CURSOR AT X= Y= Z=
1 > > > ed
1 - - na~alo nowoj stroki ------------------------ SAR
1 !"#$$%&''())*+,,-.//01223445667899:;;<==>?@@ABBCDDEEFGGHIIJKKLMMNNOPPQQRSSTTUVVWWXXYZZ[[\\]]^^__``aabbccddeeffgghhiiijjkklllmmnnnoopppqqqrrrssstttuuuvvvvwwwxxxxyyyyyzzzz{{{{{||||||}}}}}}}}~~~~~~~~~~
1 underline
1 mETKA:kODY UPRAWLENIQ
1 italics
1 for new choice"
1 enlarged
1 condensed
1 arrays to
1 ZEUS Z80 ASSEMBLER
1 V.RUMSEY
1 LOADED
1 BASIC programs."'" (b)To
1 - - - - | <> - - - - otcentruj stroku ! 0 - - - - _ >= - - - - podwinx stroku wprawo ! eht D - - - - \ a
1 Magnify Reduce Next z Figure Quit
1 FLOATING POINT COMPILER
1 elite
1 wersiq 2.2
1 Use 'D'(delete) to remove points"
1 < < < t a
1 men` zapisi
1 "
1 men` zagruzki
1 glawnoe men`
1 < < < T A S W O R D T W O > > > EDIT - - - help page
1 z=
1 THEN - - - scroll up
1 STOP - - - load/save/print text
1 STEP - - - reform to end of para
1 OR - - - - go to end of text
1 INV. VIDEO cursor to word right
1 GRAPHICS - printer control chars >>>>>
1 >= - - - - move line right
1 <= - - - - move line left
1 -%&
1
1
1
1
1
1
1